package com.jimikongjian.service.dao.impl;

import com.jimikongjian.dao.IPhoto;
import com.jimikongjian.models.Photo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created by fuxiuyang on 17/3/4.
 */
@Service("iPhotoImpl")
public class IPhotoImpl implements IPhoto {

    @Autowired
//    @Qualifier("photoMapper")
    private IPhoto iPhoto;

    /**
     * 通过自身的id号，获取某一确定的照片
     *
     * @param id
     * @return List<Photo>
     */
    public List<Photo> getPhotoListById(int id) {
        if (id > 0){
            return iPhoto.getPhotoListById(id);
        }
        return null;
    }

    /**
     * 通过自身的id号，获取某一确定的照片
     *
     * @param id
     * @return Photo
     */
    public Photo getPhotoById(int id) {
        if (id > 0){
            List<Photo> photoList = getPhotoListById(id);
            if (photoList.size() > 0){
                return photoList.get(0);
            }
        }
        return null;
    }

    /**
     * 通过相册的id号，获取该相册下的所有的照片
     *
     * @param albumId
     * @return List<Photo>
     */
    public List<Photo> getPhotoListByAlbumId(int albumId, int start, int length) {
        if (albumId > 0 && start >= 0 && length > 0){
            return iPhoto.getPhotoListByAlbumId(albumId, start, length);
        }
        return null;
    }

    /**
     * 创建一张新的照片
     *
     * @param photo
     */
    public void insertPhoto(Photo photo) {
        if (photo.getAlbumId() > 0
                && photo.getPhotoKey() != ""){
            iPhoto.insertPhoto(photo);
        }
    }

    /**
     * 更新照片的信息
     *
     * @param photo
     */
    public void updatePhoto(Photo photo) {
//        没有更新照片，照片只能删除
    }

    /**
     * 删除一张照片
     *
     * @param photo
     */
    public void deletePhoto(Photo photo) {
        if (photo.getId() > 0){
            iPhoto.deletePhoto(photo);
        }
    }
}
